/**
 *
 * @param time 需要转换的时间
 * @param fmt 需要转换的格式 如yyyy-MM-dd ,yyyy-MM-dd HH:mm:ss
 */
export function formatTime(time: any,fmt: string) {
    if (!time) {
        return ;
    }
    const date = new Date(time);
    const o = {
        // getMonth() 返回值是0到11的整数，0表示一月，11表示12月
        'M+': date.getMonth() + 1,
        // getDate() 表示1-31号
        'd+': date.getDate(),
        // getHours() 表示0-23小时
        'H+': date.getHours(),
        // getMinutes() 0-59分钟
        'm+': date.getMinutes(),
        // getSeconds() 0-59秒
        's+': date.getSeconds(),
        // 季度
        'q+': Math.floor((date.getMonth() + 3) / 3),
        // 毫秒 0-999
        's': date.getMilliseconds()
    }

    // 处理年份
    /**
     * RegExp.$1 : 指的是与正则表达式匹配的第一个子匹配（以括号为标志）的字符串
     * getFullYear(): 返回一个表示年份的4位数据
     * 输出的结果：2025-MM-dd
     */
    if(/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1,(date.getFullYear() + '').substr(4 - RegExp.$1.length))
    }
    // 遍历o对象
    for (let k in o) {
        if (new RegExp('(' + k + ')').test(fmt)) {
            fmt = fmt.replace(RegExp.$1,(RegExp.$1.length === 1) ? (o[k]) :
                (('00'+ o[k]).substr(('' + o[k]).length )));
        }
    }
    return fmt;
}

// calculateDays 计算天数
export function calculateDays (time: any) {
    if (!time) {
        return ;
    }
    let day = Math.floor(new Date().getTime()/1000) - (new Date(time).getTime() / 1000);
    return Math.floor(day / (24*3600));
}